A solid state drive (SSD) is a data storage device that uses integrated circuit assemblies as memory to store data persistently. SSDs have no moving mechanical components and this distinguishes SSDs from traditional electromechanical magnetic disks, such as, hard disk drives (HDDs) or floppy disks, which contain spinning disks and movable read/write heads. Compared to electromechanical disks, SSDs are typically more resistant to physical shock, run silently, have lower access time, and have less latency. Many types of SSDs use NAND-based flash memory which comprises an electronic (solid-state) non-volatile computer storage medium that can be electrically erased and reprogrammed.
NAND-based flash memory may have bit errors in stored data. To allow recovery from such bit errors, data may be stored in an encoded form in NAND-based flash memory, by using an error correction code (ECC) to encode the data. Error correction techniques may be employed on the encoded data to remove the errors and reconstruct the original data.